package com.itheima.edu.info.student.manager.service;

import com.itheima.edu.info.student.manager.dao.BaseStudentDao;
import com.itheima.edu.info.student.manager.domain.Student;
import com.itheima.edu.info.student.manager.factory.StudentDaoFactory;

//业务员类:完成业务逻辑
public class StudentService {
    BaseStudentDao dao = StudentDaoFactory.getStudentDao();

    public boolean addStudent(Student stu) {
        //指挥库管添加学生
        return dao.addStudent(stu);
    }


    public Student[] showStudent() {
        Student[] stus = dao.showStudent();
        //使用标记位判断系统数据容器是否为空,先假设为空
        boolean flag = true;
        //循环遍历数组容器,只要有元素不为null,说明数组容器不为空,更改标记位
        for (int i = 0; i < stus.length; i++) {
            if (stus[i] != null) {
                flag = false;
                break;
            }
        }
        //如果数组容器为空,返回null值
        if (flag) {
            return null;
        }
        //数组容器不为空,返回该数组容器
        else {
            return stus;
        }

    }

    public void deleteStudent(String id) {
        //指挥库管删除学生
        dao.deleteStudent(id);
    }

    //业务员类修改学生功能
    public void updateStudent(String updateId, Student newStu) {
        dao.updateStudent(updateId, newStu);
    }

    //业务员中判断学号是否存在的方法
    public boolean isExists(String id) {
        //方案一:指挥库管得到数组容器
        //方案二:指挥库管进行学号查找,根据返回的index的值进行判断
        int index = dao.getIndex(id);
        /*if(index == -1){
            return false;
        }else{
            return true;
        }*/
        return index != -1;
    }
}
